﻿using System.Data;
using System.Data.Odbc;

namespace crm.model
{
    public class EstadoDao : Conexao
    {
        Conexao c = new Conexao();

        public bool inserir(Estado obj)
        {
            colParams.Clear();
            string query = "insert into estado (fkidpais, nome, fkidstatus) values (?,?,?);";
            colParams.Add(new OdbcParameter("@fkidpais", obj.FkIdPais));
            colParams.Add(new OdbcParameter("@nome", obj.Nome));
            colParams.Add(new OdbcParameter("@fkidstatus",obj.status));
            return c.Executar(query,colParams);
        }

        public DataTable consultar()
        {
            string query = "select * from vw_estado";
            return c.ExecutarConsulta(query);
        }

        public DataTable consultar(int id)
        {
            colParams.Clear();
            string query = "select * from estado where idestado = ? and fkidstatus = 0;";
            colParams.Add(new OdbcParameter("@idestado", id));
            return c.ExecutarConsulta(query,colParams);
        }

        public DataTable consultar(string nome)
        {
            colParams.Clear();
            string query = "select * from estado where nome like ? and fkidstatus = 0;";
            colParams.Add(new OdbcParameter("@nome", nome));
            return c.ExecutarConsulta(query,colParams);
        }

        public bool atualizar(Estado obj)
        {
            colParams.Clear();
            string query = "update estado set fkidpais = ?, nome = ? where idestado = ?;";
            colParams.Add(new OdbcParameter("@fkidpais", obj.FkIdPais));
            colParams.Add(new OdbcParameter("@nome", obj.Nome));
            colParams.Add(new OdbcParameter("@idestado", obj.IdEstado));
            return c.Executar(query,colParams);
        }

        public bool remover(int id)
        {
            string query = "update estado set fkidstatus = 1 where idestado = ?;";
            colParams.Add(new OdbcParameter("@idestado", id));
            return c.Executar(query,colParams);
        }
    }
}
